export type FormFieldType = 'input' | 'upload' | 'date' | 'switch' | 'radio'

export interface FormFieldRule {
  required?: boolean
  pattern?: RegExp
  validator?: (value: any) => boolean | string
  message?: string
}

export interface FormField {
  fieldType: FormFieldType
  name: string
  label: string
  columns?: any[]
  iskai?: true
  prop: string
  value?: any
  placeholder?: string
  rules?: any[]
  props?: Record<string, any>
  options?: Array<{ label: string; value: any }> // For radio
  uploadConfig?: {
    // For upload
    action?: string
    maxCount?: number
    accept?: 'image' | 'video' | 'all' | 'file'
  }
}
